import Vue from 'vue'
import App from './App.vue'
// 局部引入 element ui
import { Button,MessageBox,Form,Input,FormItem,Checkbox,Row,Col,Pagination} from 'element-ui';

// 引入element ui的组件
Vue.use(Pagination)
Vue.use(Button)
Vue.use(Form)
Vue.use(Input)
Vue.use(FormItem)
Vue.use(Checkbox)
Vue.use(Row)
Vue.use(Col)

// 把MessageBox 添加到原型
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;

// 关闭生产提示
Vue.config.productionTip = false

//引入Nav组件
import Nav from '@/components/Nav/Nav.vue'

// 创建全局 Nav 组件
Vue.component('Nav',Nav);  //compontent("组件名"，引入的组件名)

// 引入公共轮播图组件
import Carousel from '@/components/Carousel/Carousel.vue'

//注册全局 轮播图 Carousel 组件
Vue.component('Carousel',Carousel)

//全局引入公共分页器组件
import Pagination2 from '@/components/Pagination'

//注册全局 分页器 组件
Vue.component('Pagination',Pagination2)

// 引入router路由数据
import router from '@/router/index.js'

//引入vuex数据（store）
import store from '@/Store/index'

// 引入mock的数据
import '@/Mock/index'

//在根标签main.js  引入swiper的css文件
import 'swiper/css/swiper.min.css'

// 获取API中index.js中暴露的所有方法
import * as API from '@/API/index'

new Vue({
  el:"#app",
  render: h => h(App),
  router,
  store,

  //使用全局事件总线  在原型上添加数据
  beforeCreate(){ 
    Vue.prototype.$bus = this
    // 把API中暴露的方法  赋值给vue原型$API
    Vue.prototype.$API = API
  },
})

